package com.potenzacd.project.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 权限
 * </p>
 *
 * @author Apollo
 * @since 2021-01-16
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Permission implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键自增
     */
    private Integer id;

    /**
     * 业务标识
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String code;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 是否删除, 1：删除 2：未删除
     */
    @TableLogic
    private Integer deleted;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 权限的名称
     */
    private String name;

    /**
     * 角色的标识
     */
    private String roleCode;

    /**
     * 权限路径
     */
    private String url;

    /**
     * 所属的上级权限
     */
    private String permissionCode;


    /**
     * 下级权限
     */
    private List<Permission> permissions;

}
